package cn.green.mapper.model;

import cn.green.core.model.QFieldModel;
import cn.green.mvc.entity.OrmTableEntity;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;

import java.lang.reflect.Field;

/**
 * @author wang.yishu
 * @version 1.0
 * @className FieldColumnMapper
 * @description 实体类属性与数据库字段的映射
 * @date 2025/7/23 10:10
 */
@Data
public abstract class FieldColumnMapper {
    //属性
    protected Field field;
    //字段
    protected QFieldModel column;
    //抽象方法：数据行转换成实体类属性数据
    public abstract void setFieldValue(JSONObject row, OrmTableEntity entity) throws Exception;
    //抽象方法：实体类属性数据转换成数据行数据
    public abstract void setColumnValue(JSONObject row, OrmTableEntity entity) throws Exception;
}
